#

# 第一次
css1 = r'p[class = "text"][id = "intro]'   
css2 = r'p.text#intro'   

css3 = r'.container>a'

'''
ul + p:选取ul的最近的兄弟p
ul ~ p:选取ul后面的所有的兄弟p
'''

css4 = r'[class ^= "btn-"]'

'''
:nth-child(2n+1) : 选取所有父元素的奇数子元素,无论类型（重要的是位置）
:nth-of-type(2n+1): 选组父元素下每种类型元素的奇数位置（重要的是类型）

'''

css9 = r'a[href *= "examle.com"]'
css10 = r'input[type="checkbox"],input[type="radio"]'


css14 = r'li:not(:last-child)'

css15 = r'p[lang="zh"]'

#第二次问
'''
1.  button[class*='btn']
2.  ------这个写法我是不会:选中所有input元素,但是排除type='submit'的   input:not([type='submit'])


3.  #header .title >> .nav > li.active >> div h1

4.  h2 + p
5.  一个是后代div一个是子代div

6.  tr:nth-of-type(3) 或者 tr:nth-child(3)
7.  :empty 选择没有子元素的元素

8.  a[href $= '.pdf']
9.  [data-role='dialog'],[data-role=''modal]

10. 不会
11. //ul/li[last()-1]   ul>li:nth-last-child(2)

15. div:nth-child(even):not([class = ignore])    或者  div:nth-child(even):not(.ignore)
'''

#  xpath选择器
'''
1.  /和//区别： /选择的是子代元素， //选择的是任意位置的元素   /表示的是绝对路径  //表示的是相对路径
2.  //div[@id]
3.  //li[@class = 'active']
4.  @*  任意属性
    node()  匹配任意类型
5.  . 表示当前节点
    ..表示当前节点的父节点
6.  (//ul)[1]/li[3]

    (//ul)[1]的执行逻辑‌
    先通过//ul获取‌整个文档所有<ul>元素的集合‌
    再通过索引[1]选取该集合中的第一个元素
    最终结果只返回文档中第一个出现的<ul>元素

'''